\section{Vistas}

% - Vistas: está sería la parte principal del TP. Acá irían los diagramas y los escenarios representativos de uso. No necesariamente tiene que ser una gran sección, sino que pueden partirla por funcionalidades y a su vez por tipo de vista o de la forma que crean más pertinente. Esta sección NO DEBE SER una simple seguidilla de figuras sueltas. Debe estar acompañada de tantas explicaciones como sean necesarias para que se aprecie un hilo conductor.

% Diagrama de Contexto
\subsection{Diagrama de Contexto}

\begin{figure}[H]
 \includegraphics[height=0.50\textheight,angle=90]{./img/contexto1.png}
 \caption{Diagrama de contexto}
 \label{fig:11}
\end{figure}

\begin{figure}[H]
 \includegraphics[height=0.50\textheight,angle=90]{./img/contexto2.png}
 \caption{Diagrama de contexto}
 \label{fig:11}
\end{figure}

\begin{itemize}
 \item{} e1) Asignador de cuentas y chequeador de veracidad acuerdan un nombre de usuario y contraseña.
 \item{} e2) Asignador de cuentas y chequeador de plagio acuerdan un nombre de usuario y contraseña.
 \item{} e3) Asignador de cuentas y periodista acuerdan un nombre de usuario y contraseña.
 \item{} e4) Asignador de cuentas y administrador de publicaciones acuerdan un nombre de usuario y contraseña.
 \item{} e5) Asignador de cuentas registra una cuenta en el software.
 \item{} e6) Chequeador de veracidad recibe nota de software.
 \item{} e7) Chequeador de veracidad informa si una nota es veraz.
 \item{} e8) Administrador de publicaciones recibe notas a publicar.
 \item{} e9) Administrador de publicaciones informa al software que notas publicar.
 \item{} e10) Chequeador de plagio recibe una nota del software.
 \item{} e11) Chequeador de plagio decide si una nota es plagio.
 \item{} e12) Se envía a imprimir la versión impresa.
 \item{} e13) Se publica una nota en la versión digital.
 \item{} e14) Se contratan periodistas especialistas / Se capacitan periodistas en nuevas secciones.
 \item{} e15) Periodista ingresa al sistema.
 \item{} e16) Periodista envía una nota y sus datos.
 \item{} e17) Redacción Local recibe nota.
 \item{} e18) Redacción Local envía nota.
 \item{} e19) Redacción central envía orden de impresión.
 \item{} e20) Redacción central envía orden para eliminar una nota.
 \item{} e21) Redacción central recibe información sobre una nota.
 \item{} e22) Redacción central decide si publica una nota.
 \item{} e23) Redacción central ingresa información útil cuando inicia el software (parámetros de configuración, como los temas de interés de la editorial).
\end{itemize}

% Diagrama de objetivos
\subsection{Diagrama de Objetivos}

% incluir grafico de primer y segundo nivel (con los agentes directos)
\begin{figure}[H]
 \includegraphics[height=0.70\textheight,angle=270]{./img/img-0.png}
 \caption{Objetivos principales}      
 \label{fig:1}      
\end{figure}

Para lograr el objetivo principal de administrar las publicaciones del diario, el enunciado planteaba varios objetivos de los cúales decidimos dejar aquellos que tienen la mayor prioridad para el funcionamiento exitoso del software, y que desencadenan dentro suyo la necesidad del cumplimiento de todos los demás objetivos del problema. Estos son : escribir notas sobre nuevas secciones especiales, recibir las notas de los periodistas y guardar sus datos (el contenido de la nota, su autor, su fecha de envio, su tema, su sección y a que versión del diario está destinada)

\begin{itemize}

% incluir grafico 'Autenticar al periodista que desea enviar una nota'
 \begin{figure}[H]
  \includegraphics[height=0.60\textheight,angle=270]{./img/img-1.png}
  \caption{Autenticar periodista}      
  \label{fig:2}      
 \end{figure}
 \item Conocer periodista que desea enviar una nota: Para cumplir con este objetivo planteamos un sistema de ``login'' para que utilicen los periodistas cuando desean enviar notas a publicarse en la versión impresa. La redacción central tiene un empleado asignado para inscribir a cada uno de sus periodistas y otorgarles un ID y un password para que pueda dicho sistema. Así, cuando deseen enviar una nota utilizando la interfaz que proporcionará el software, sólo podrán hacerlo ingresando primero estos ID y password únicos, evitando el uso de pseudónimos y quedando unívocamente autenticado cada periodista.

% incluir grafico 'Una vez autenticado el periodista que envía la nota, se recibe una nota y se guardan sus datos'
 \begin{figure}[H]
  \includegraphics[height=0.70\textheight,angle=270]{./img/img-2.png}
  \caption{Recibir nota - Base de datos}      
  \label{fig:3}      
 \end{figure}
 \item Una vez reconocido al periodista que envía la nota, se recibe una nota: Cuando el periodista ya está identificado por el sistema, queremos que el software reciba su nota para que luego se continue con el proceso correspondiente según esta esté destinada para la versión impresa o para la digital; contando además con cierta información proveída por el periodista y teniendo en cuenta las restricciones de cada versión.

% incluir grafico 'Si el software recibe una nota dirigida a una redacción local, la envía'
 \begin{figure}[H]
  \includegraphics[height=0.70\textheight,angle=270]{./img/img-3.png}
  \caption{Objetivos sobre redacción local}      
  \label{fig:4}      
 \end{figure}
 \item Si el software recibe una nota dirigida a una redacción local, la envía: Este objetivo le da la capacidad a nuestro software de ser la interfaz por la que un corresponsal puede enviar sus notas a las redacciones locales.

% incluir grafico 'Conociendo los datos de noticias, se decide si una nota será publicada en la versión impresa'(tal vez dividido en 2)
 \begin{figure}[H]
  \includegraphics[height=0.70\textheight,angle=270]{./img/img-4.png}
  \caption{Determinar si una nota es publicada}      
  \label{fig:5}      
 \end{figure}

 \begin{figure}[H]
  \includegraphics[height=0.70\textheight,angle=270]{./img/img-13.png}
  \caption{Conocer la credibilidad del periodista}      
  \label{fig:6}      
 \end{figure}
 \item Conociendo los datos de noticias, se decide si una nota será publicada en la versión impresa: Teniendo toda la información pertinente, decidir si una nota se publica en la versión impresa consta de tres sucesos principales. Por un lado se debe calcular el índice de confiabilidad, este es un índice que ayuda a la Redacción Central a decidir si se publica o no una nota, basado principalmente en la confianza hacia el periodista y el interés de la editorial en los temas que trata. Por otro, se le debe informar este índice a la redacción central. Y por último, la redacción Central decide si publicar o no la noticia. Estos últimos hechos son llevados a cabo por el software y la editorial respectivamente. Determinar el índice de confiabilidad es el punto crítico entre estos desde la perspectiva de cómo debe operar el sistema. El software se asegura que el tema de interés de la noticia exista y sea uno de los intereses de la editorial, chequeando que tal interés pertenezca a una lista previamente suministrada por la redacción central. También el software se asegura que el periodista alcance un puntaje mínimo que también será determinado por la redacción central. De no alcanzarse el puntaje mínimo, se prevendrá la publicación de la nota. Para calcular este puntaje, el software le envía al chequeador de veracidad la nota para que este verifique que dicha noticia no es falsa. Y dependiendo de si la noticia es o no falsa, puede ajustarse el puntaje del autor de la noticia para un próximo cálculo del índice de confiabilidad del mismo periodista. Para informarle al software que si la noticia es o no falsa, el chequeador de veracidad deberá identificarse en el sistema de la misma manera en que lo tiene que hacer el chequeador de plagio o el periodista. Con estos datos y basándose en el puntaje de veracidad ya obtenido en el pasado por el autor, se decidirá el puntaje del periodista.

 \item Si se decide publicar una nota en la versión impresa, se agrega la nota a la versión impresa: Este objetivo es realizado directamente por el software

 \item Si se recibe una nota para publicar en la versión digital, publicar en la versión digital: Este objetivo es realizado directamente por el software, partiendo de la premisa de que este tiene una formar de modificar la versión digital.

% incluir grafico 'Publicar versión impresa'
 \begin{figure}[H]
  \includegraphics[height=0.70\textheight,angle=270]{./img/img-6.png}
  \caption{Publicar versión impresa}      
  \label{fig:10}      
 \end{figure}
 \item Publicar versión impresa: La publicación de la versión impresa cuenta de tres partes fundamentales:
  \begin{enumerate}
   \item Que se asegure la consistencia entre lo publicado en la versión impresa y en la versión digital.
   \item Que la redacción central envíe la orden de impresión.
   \item Que finalmente se imprima la edición.
  \end{enumerate}
 Las dos últimas son bastante sencillas. Por un lado, la redacción central es responsable de dar la orden de impresión una vez que la versión impresa se encuentre lista. Por el otro, el software debe informar al sistema de impresión que se debe efectuar la orden y estos últimos deben encargarse de llevarla a cabo.

%TODO: ¿Debemos decir que asumimos que el sistema de impresión
%imprimirá el diarion ni bien se le dé la orden?

 El otro punto es un poco más extenso. La consistencia entre las versiones digitales e impresa se basa en que la cantidad de notas que deben publicarse en una versión no pueden diferir tanto de las que se publican en la otra. La idea es que apróximadamente al menos la mitad del contenido de una versión coincida con la de la otra. El paso fundamental para llevar esto a cabo es reconocer cuáles son las notas que coinciden y cuáles son las notas que difieren entre la versión digital y la versión impresa. Este hecho es llevado a cabo por el software y consiste en registar todas las notas que pretenden ser publicadas, tanto de la versión digital como de la versión impresa, y sobre todas ellas corroborar cuántas difieren y cuántas no. Con estos datos, si las diferencias entre ambas versiones supera la cantidad deseable, entonces se necesita decidir qué notas son publicadas y qué notas no. Este proceso se podría llevar a cabo de dos formas distintas. Una automatizada que hará más barato el mantenimiento del sistema y la cantidad de gente encargada del asunto y otra manejada por administradores que mejoraría la calidad de la selección de las notas. La primera alternativa es llevada a cabo totalmente por el software y se encarga de ajustar la versión digital para que se asemeje más a la versión impresa. Así, si la versión impresa posee más notas que la digital, entonces a la digital se le agregan notas suficientes para satisfacer el criterio de consistencia. Por el contrario, si la versión digital posee más notas que la versión impresa, entonces lo que se hace es eliminar las notas de la versión digital hasta satisfacer el criterio. Este criterio se utiliza debido a que la versión impresa tiene requisitos más estrictos para la selección de la publicación y esto haría las publicaciones más sencillas y de mayor calidad.

%TODO: ¿Esto no puede romper el invariante de cantidad de notas que un
%periodista puede publicar en la versión digital?

 Si se deben publicar más notas en la versión digital, se elegirán las últimas notas publicadas en la versión impresa. Por el contrario, si se deben eliminar notas de la versión digital, se eliminarán las más antiguas. Si, por el contrario, se debe recurrir a la segunda alternativa, entonces deberá haber un encargado denominado Administrador de publicaciones que se encargará de seleccionar qué notas se publican y qué notas no. Se le proveerá de una interfaz para comunicarse con el software tanto para obtener las notas en disputa como para comunicar qué notas definitivamente serán publicadas.

% incluir grafico 'Eliminar notas de la versión digital'
\begin{figure}[H]
 \includegraphics[height=0.70\textheight,angle=270]{./img/img-5.png}
 \caption{Agregar/Eliminar notas}      
 \label{fig:9}      
\end{figure}

 \item Eliminar notas de la versión digital: Para esto se necesita que la redacción central notifique al software cuando desea eliminar una nota de la versión digital, para que luego el software proceda a eliminarla.

% incluir grafico 'Escribir notas sobre secciones nuevas'
\begin{figure}[H]
 \includegraphics[height=0.70\textheight,angle=270]{./img/img-7.png}
 \caption{Nuevas secciones}      
 \label{fig:13}      
\end{figure}

 \item Administrar secciones nuevas: Este objetivo está planteado con dos o-refinamientos en los que se asignan los objetivos al mismo agente, pero donde en cada caso la forma en la que se intenta cumplir el objetivo es distinta. En el primer caso se plantea, ante el surgimiento de una sección nueva, contratar a un especialista en el tema para que se dedique a publicar notas para dicha sección. En la otra opción se plantea, en cambio, capacitar a los periodistas ya contratados en el nuevo tema, para que todas estén capacitadas para publicar notas en la sección. La primera está enfocada a obtener una alta calidad de las notas en la nueva sección, a pesar del costo que implica contratar especialistas en el tema. La segunda, en cambio, mejora el costo de presentar nuevas secciones, bajo el riesgo de obtener notas de menor calidad que las que podrían escribir especialistas en el tema.

\end{itemize}

\subsection{Escenarios de uso}

A continuación se presentan una serie de escenarios representativos de uso, para entender el funcionamiento del sistema:

\begin {itemize}
 \item El administrador de cuentas inscribe al periodista corresponsal P en el sistema, con un ID único (por ejemplo el DNI). El periodista escoge un password. Se guarda en la base de datos de periodistas el nuevo ID y password.
 \item El periodsta local P desea enviar una nota para publicarla en la versión digital. Por medio de internet, P ingresa su ID y password al sistema. Luego ingresa el texto correspondiente a la nota, el tema, y la sección en el software, indicando que se desea enviar la nota para publicarla en la versión digital del diario. El software comprueba los datos. Como son correctos se publica la nota en la versión digital.
 \item (Periodista ingresa datos incorrectos) El periodista local P desea enviar una nota para publicarla en la versión digital. Por medio de internet, A ingresa su ID y password al sistema. Luego ingresa el texto correspondiente a la nota, y la sección en el software, indicando que se desea enviar la nota para publicarla en la versión digital del diario. El software comprueba los datos. Como falta indicar el tema, se envia un mensaje de error al periodista.

 \begin{figure}[H]
  \includegraphics[height=0.70\textheight,angle=270]{./img/img-11.png}
  \caption{Alternativa con chequeador de plagio}      
  \label{fig:7}      
 \end{figure}
 \item (ALTERNATIVA: Con chequeador, para determinar si hubo plagio) El corresponsal P desea enviar una nota para publicarla en la versión impresa. Por medio de internet, P ingresa su usuario y contraseña al sistema. Luego ingresa el texto correspondiente a la nota, la sección y el tema en el software, indicando que se desea enviar la nota para publicarla en la versión impresa del diario. El software comprueba los datos. Como son correctos, comienza el proceso para decicir si la nota será publicada. El software envía la nota al chequeador de plagio C. C busca en otros diario y en otras notas del diario si hubo plagio. C no encuentra plagio. C informa al software que no encontró plagio. El software determina la cantidad de notas de P en la edición, y en que sección se encuentran. No hay otras notas de P en la edición. El software permite publicar la nota pues la cantidad de notas de P en la edición es menor o igual a 3 en diferentes secciones y 2 en la misma sección. Se determina el índice de confiabilidad de P. Se envía la nota al chequeador de veracidad K. K revisa la nota y determina que es veraz. El índice de confiabilidad no baja. Se determina si el tema de la noticia es de interés para la editorial. Utilizando estos datos se determina el índice de confiabilidad de P y se lo informa a la redacción central. La redacción analiza ese valor y determina que desea publicar la nota. La nota se agrega a la versión impresa.

 \begin{figure}[H]
  \includegraphics[height=0.70\textheight,angle=270]{./img/img-12.png}
  \caption{Alternativa automatizada para chequear plagio}      
  \label{fig:8}      
 \end{figure}
 \item (ALTERNATIVA: automática, para determinar si hubo plagio) El corresponsal P desea enviar una nota para publicarla en la versión impresa. Por medio de internet, P ingresa su usuario y contraseña al sistema. Luego ingresa el texto correspondiente a la nota, la sección y el tema en el software, indicando que se desea enviar la nota para publicarla en la versión impresa del diario. El software comprueba los datos. Como son correctos, comienza el proceso para decicir si la nota sera publicada. El software busca notas con un porcentaje de coincidencias de palabras con la nota a verificar. Como no encuentra una nota con alto porcentaje de conincidencias determina que no hubo plagio. El software determina la cantidad de notas de P en la edición, y en que sección se encuentran. No hay otras notas de P en la edición. El software permite publicar la nota pues la cantidad de notas de P en la edición es menor o igual a 3 en diferentes secciones y 2 en la misma sección. Se determina el índice de confiabilidad de P. Se envía la nota al chequeador de veracidad K. K revisa la nota y determina que es veraz. El índice de confiabilidad no baja. Se determina si el tema de la noticia es de interés para la editorial. Utilizando estos datos se determina el índice de confiabilidad de P y se lo informa a la redacción central. La redacción analiza ese valor y determina que desea publicar la nota. La nota se agrega a la versión impresa.
 \item (Hay plagio) El corresponsal P desea enviar una nota para publicarla en la versión impresa. Por medio de internet, P ingresa su usuario y contraseña al sistema. Luego ingresa el texto correspondiente a la nota, la sección y el tema en el software, indicando que se desea enviar la nota para publicarla en la versión impresa del diario. El software comprueba los datos. Como son correctos, comienza el proceso para decicir si la nota será publicada. El software busca notas con un porcentaje de coincidencias de palabras con la nota a verificar. El software encuentra una nota N con alto porcentaje de palabras coincidentes. Determina que hubo plagio y no permite la publicación del nota.
 \item La redacción central desea publicar la versión impresa. Envía la orden al software. El software asegura la consistencia del 50\% entre la versión impresa y digital. Las notas en que difieren las dos versiones no superan el límite. Se manda la orden de imprimir al sistema de impresión. El sistema imprime la edición.
 
 \begin{figure}[H]
  \includegraphics[height=0.70\textheight,angle=270]{./img/img-14.png}
  \caption{Alternativa automática para mantener la consistencia entre versiones}      
  \label{fig:11}      
 \end{figure}
 \item (ALTERNATIVA: automática, para asegurar consistencia entre versiones) La redacción central desea publicar la versión impresa. Envía la orden al software. El software asegura la consistencia del 50\% entre la versión impresa y digital. La cantidad de notas diferentes supera el 50\%. La cantidad de notas que difieren es mayor en la versión impresa. Se eligen las notas más nuevas de la versión impresa para subirlas a la digital hasta alcanzar consistencia. Se suben las notas a la versión digital. Se manda la orden de imprimir al sistema de impresión. El sistema imprime la edición.
 
 \begin{figure}[H]
  \includegraphics[height=0.70\textheight,angle=270]{./img/img-15.png}
  \caption{Alternativa con administrador para mantener la consistencia entre versiones}      
  \label{fig:12}      
 \end{figure}
 \item (ALTERNATIVA: Con Chequeador, para asegurar consistencia entre versiones) La redacción central desea publicar la versión impresa. Envía la orden al software. El software asegura la consistencia del 50\% entre la versión impresa y digital. La cantidad de notas diferentes supera el 50\%. Se envía las notas en que difieren al administrador de publicaciones A. A decide que notas se deben publicar de manera que haya una consistencia del 50\% entre las dos versiones y las informa al software. Se manda la orden de imprimir al sistema de impresión. El sistema imprime la edición.
 \item La redacción central desea eliminar una nota de la versión digital. Envía una notificación al software. El software elimina la nota de la versión digital.
\end{itemize}
